package com.loong.loong.hik.api.entity.carPark;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import java.time.LocalDateTime;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import lombok.Data;

/**
 * 区域对象特征属性
 * @author jinyiang
 * @date 2023/3/21 17:54
 */
@Data
@TableName("hik_park_region")
public class HikParkRegion {

	/**
	 * 通用名
	 */
	@NotNull(message = "通用名不能为空")
	@Size(max = 512, message = "通用名长度不能超过512")
	@TableField(value = "cn")
	private String cn;

	/**
	 * 资源编码
	 */
	@NotNull(message = "资源编码不能为空")
	@Size(max = 64, message = "资源编码长度不能超过64")
	@TableField(value = "index_code")
	private String indexCode;

	/**
	 * 数据状态
	 * 0正常，-1删除
	 */
	@NotNull(message = "数据状态不能为空")
	@TableField(value = "status")
	private Integer status;

	/**
	 * 创建时间
	 */
	@TableField(value = "create_time", fill = FieldFill.INSERT)
	private LocalDateTime createTime;

	/**
	 * 更新时间
	 */
	@TableField(value = "update_time", fill = FieldFill.UPDATE)
	private LocalDateTime updateTime;

	/**
	 * 组织外码编号
	 */
	@NotNull(message = "组织外码编号不能为空")
	@Size(max = 64, message = "组织外码编号长度不能超过64")
	@TableField(value = "external_index_code")
	private String externalIndexCode;

	/**
	 * 父区域联网编码
	 * 最顶层的父级编号为0
	 */
	@NotNull(message = "父区域联网编码不能为空")
	@Size(max = 64, message = "父区域联网编码长度不能超过64")
	@TableField(value = "parent_index_code")
	private String parentIndexCode;

	/**
	 * 组织排序
	 */
	@NotNull(message = "组织排序不能为空")
	@TableField(value = "orders")
	private Integer orders;

	/**
	 *
	 * 组织类型: 0 组织、 90 区域、 99网关自建组织
	 */
	@NotNull(message = "组织类型不能为空")
	@TableField(value = "org_type")
	private Integer orgType;

	/**
	 * 扩展信息
	 */
	@Size(max = 512, message = "扩展信息长度不能超过512")
	@TableField(value = "extend_data")
	private String extendData;

}
